iT邦幫忙

2021 iThome 鐵人賽

DAY 24
1
Modern Web

Angular 常見問題大小事系列 第 24

Angular 筆記 CSS 樣式篇

  • 分享至 

  • xImage
  •  

今天就只是個筆記,單純記錄寫法如何使用,以便自己日後查找。
畢竟人非聖賢、會忘難免 XD

css

套用 className

變數為 isDark,value 必需為 boolean

isDark = true;

在 html 的 dom 裡設定

<p [ngClass]="isDark ? dark : light">test</p>
<p [ngClass]="{'isDark': true}">test</p>

https://angular.tw/api/common/NgClass

Document difference between [NgClass] and [class] [NgClass] 與 [class] 之間的差異


style

在 html 的 dom 裡設定

<p
  [ngStyle]="{'background-color': '#159', 'color':'#fff', 'font-size': '20px'}"
>
  test
</p>
isDark = true;
<p [ngStyle]="isDark ? {'background-color': '#159', 'color':'#fff'} : {}">
  test
</p>

若 屬性的值為 value

width = 60;
height = 20;
<p [ngStyle]="{'width.px': width, 'height.px': height}>test</p>

https://angular.tw/api/common/NgStyle


:host 設定宿主(host)的樣式

:host {
  display: block;
  border: 1px solid black;
}

在 css 裡加上條件式

:host(.active) {
  border-width: 3px;
}

@HostBinding

在 ts 裡直接綁定 class 到 宿主上

@HostBinding() class = `hey`;

直接綁定 id 到 宿主上

@HostBinding() id = `hey`;

或是直接設定 style

@HostBinding() style = `background: #159;display: block;`;

套上變數

@Input() isColor!: string;

@HostBinding('style.background') get color() {
  return this.isColor;
}
@HostBinding('class.value') get color() {
  return true;
}

若是 return true,class 會掛載 value 這個 class name

@HostBinding('class') get color() {
  return 'yoo';
}

HostBinding 裡的 只有 class,則需 return 出一個字串,return 出來的字串則為 class name


上一篇
Angular 客製彈出視窗
下一篇
Angular 路由守衛
系列文
Angular 常見問題大小事31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Tim Hsu
iT邦新手 1 級 ‧ 2021-10-05 09:26:18

有看到一些專案在全域的 CSS 會加上 :host,但不太清楚要怎麼使用這個屬性...

我要留言

立即登入留言